package org.javaopenaccess.dao;

import org.aopalliance.intercept.MethodInvocation;

/**
 * All application specific transactionmanager should
 * implement this class.
 * @author Miku
 *
 */
public interface TransactionManager {
	/**
	 * This method is for spring enabled transaction management.
	 * It knows how to handle a AOP intercepted methodcall and
	 * create a transaction around it.
	 * @param invocation
	 * @return
	 * @throws Throwable 
	 */
	Object interceptedTransaction(MethodInvocation invocation) throws Throwable;
}
